package com.itheima.singleinstance;

//设计成单例设计模式：确保某个类只能创建一个对象
//该例子是饿汉式单例设计模式（在获取类的对象时，对象已经创建好了）
public class A {

    //步骤1：私有化构造方法，确保单例类对外不可创建对象
    private A() {

    }

    //步骤2：创建私有静态成员变量
    //public static A a = new A();  //不安全，外部可修改
    private static final A a = new A();   //final可加可不加，加了final可以防止在内部被修改
    //或public static final A a = new A();

    //步骤3：提供一个公开的静态方法，返回本类的唯一对象
    public static A getInstance() {
        return a;
    }
}
